For example the addition of two complex numbers requires you to perform an
addition for each part. Consequently, you must access the value of each part which is different for each
version. By providing an operation “add'' you can encapsulate these details from its actual use. In an
application context you simply “add two complex numbers'' regardless of how this functionality is actually
achieved.